home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
fish
/
001-100
/
001-025
/
004
/
kermit
/
error.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-17
|
2KB
|
111 lines
/* @(#)error.c 1.1 1/26/85 */
#include "kermit.h"
#include "errors.h"
/*
* Externals defined in library.
*/
extern int errno; /* System error return code */
#ifdef unix
extern char *sys_errlist[]; /* Array of error messages */
extern int sys_nerr; /* Size of sys_errlist[] */
#endif
extern VOID exit (); /* Close files and exit */
extern int fprintf (); /* Formatted print to stream */
/*
* Local functions.
*/
static VOID Perror ();
/*VARARGS1*/
VOID Error (error, arg1)
int error;
char *arg1;
{
DBUG_ENTER ("Error");
(VOID) fprintf (stderr, "kermit: ");
switch (error) {
case HOST_RAW:
(VOID) fprintf (stderr, "can't set host tty to raw mode");
Perror ();
break;
case REMOTE_RAW:
(VOID) fprintf (stderr, "can't set remote tty to raw mode");
Perror ();
break;
case HOST_COOKED:
(VOID) fprintf (stderr, "can't restore host tty modes");
Perror ();
break;
case REMOTE_COOKED:
(VOID) fprintf (stderr, "can't restore remote tty modes");
Perror ();
break;
case HOST_TCGETA:
(VOID) fprintf (stderr, "can't get host tty modes");
Perror ();
break;
case REMOTE_TCGETA:
(VOID) fprintf (stderr, "can't get remote tty modes");
Perror ();
break;
case REMTTY:
(VOID) fprintf (stderr, "can't open communication line %s", arg1);
Perror ();
break;
case CONNECT:
(VOID) fprintf (stderr, "nothing to connect to.\n");
break;
case PHOTO:
(VOID) fprintf (stderr, "can't open photo file %s", arg1);
Perror ();
break;
case RCVFILE:
(VOID) fprintf (stderr, "can't create file %s", arg1);
Perror ();
break;
case SPEED:
(VOID) fprintf (stderr, "bad line speed %d\n", arg1);
break;
case MODE:
(VOID) fprintf (stderr, "must specify -c, -s, or -r\n");
break;
case NOCONNECT:
(VOID) fprintf (stderr, "sorry, connect not implemented!\n");
break;
default:
(VOID) fprintf (stderr, "bug!, bad error code %d\n", error);
break;
}
(VOID) fflush (stderr);
DBUG_VOID_RETURN;
}
VOID WrapUp (status)
int status;
{
DBUG_ENTER ("Wrapup");
exit (status);
DBUG_VOID_RETURN;
}
static VOID Perror ()
{
#ifdef unix
if (errno > sys_nerr) {
(VOID) fprintf (stderr, ": !! bad errno %d !!\n", errno);
} else {
(VOID) fprintf (stderr, ": %s\n", sys_errlist[errno]);
}
#else
(VOID) fprintf (stderr, ": <unknown error %d>!\n", errno);
#endif /* unix */
}